package com.cictec.middleware.core.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.cictec.middleware.core.entity.pojo.ZoneFenceEntity;

/**
 * 报警系统设置
 * @author ql
 */
@Table(name = "t_sys_warn")
public class SystemWarnSetting implements Serializable {
	
	private static final long serialVersionUID = -789273299542276010L;

	/** 报警设置围栏信息 */
	@Transient
	private List<SystemWarnSettingZone> zones = new ArrayList<SystemWarnSettingZone>();
	/** 报警设置围栏信息 */
    public List<SystemWarnSettingZone> getZones() {
		return zones;
	}
    /** 报警设置围栏信息 */
	public void setZones(List<SystemWarnSettingZone> zones) {
		this.zones = zones;
	}

	@Id
    @Column(name = "sw_uuid")
    private String swUuid;

    /**
     * 报警名称
     */
    @Column(name = "sw_name")
    private String swName;

    /**
     * 报警代码
     */
    @Column(name = "sw_code")
    private String swCode;

    /**
     * 报警类型0.提醒1.报警
     */
    @Column(name = "sw_warn_type")
    private String swWarnType;

    /**
     * 紧急程度1：非常紧急2：紧急3：一般4：不紧急

     */
    @Column(name = "sw_emerg")
    private String swEmerg;

    /**
     * 状态是否启用0:禁用 1:启用
     */
    @Column(name = "sw_status")
    private String swStatus;

    /**
     * 显示颜色
     */
    @Column(name = "sw_color")
    private String swColor;

    /**
     * 处理方式0：自动、1：手动
     */
    @Column(name = "sw_handing")
    private String swHanding;

    /**
     * 推送至设备0推送1不推送
     */
    @Column(name = "sw_target_dev")
    private String swTargetDev;

    /**
     * 推送至app 0推送1不推送
     */
    @Column(name = "sw_target_app")
    private String swTargetApp;

    /**
     * 推送至短信 0推送1不推送
     */
    @Column(name = "sw_target_sms")
    private String swTargetSms;

    /**
     * 推送至直线图 0推送1不推送
     */
    @Column(name = "sw_target_sys")
    private String swTargetSys;

    /**
     * 设备推送内容
     */
    @Column(name = "sw_dev_content")
    private String swDevContent;

    /**
     * App推送内容
     */
    @Column(name = "sw_app_content")
    private String swAppContent;

    /**
     * 短信推送内容
     */
    @Column(name = "sw_sms_content")
    private String swSmsContent;

    /**
     * 直线图推送方式可多选，以逗号分隔；1：强制弹框2：声音提醒3：图标改变4：图标闪烁5：弹出视频6：角标提醒

     */
    @Column(name = "sw_sys_type")
    private String swSysType;

    /**
     * 直线图报警声音,如果sw_sys_type包含2则保存其路径，否则为空
     */
    @Column(name = "sw_sys_voice")
    private String swSysVoice;

    /**
     * 直线图报警图标,如果sw_sys_type包含3，则保存其路径，否则为空
     */
    @Column(name = "sw_sys_icon")
    private String swSysIcon;

    /**
     * 音频播放次数
     */
    @Column(name = "sw_voice_times")
    private Short swVoiceTimes;

    /**
     * 车距、站距设置1：车距 2：站距
     */
    @Column(name = "sw_station_spacing")
    private String swStationSpacing;

    /**
     * 自定义参数1
     */
    @Column(name = "sw_param1")
    private String swParam1;

    /**
     * 自定义参数2
     */
    @Column(name = "sw_param2")
    private String swParam2;

    /**
     * 自定义参数3
     */
    @Column(name = "sw_param3")
    private String swParam3;

    /**
     * 自定义参数4
     */
    @Column(name = "sw_param4")
    private String swParam4;

    /**
     * 自定义参数5
     */
    @Column(name = "sw_param5")
    private String swParam5;

    /**
     * 备注
     */
    @Column(name = "sw_comment")
    private String swComment;

    /**
     * 修改时间
     */
    @Column(name = "sw_update_time")
    private Date swUpdateTime;

    /**
     * 创建时间
     */
    @Column(name = "sw_create_time")
    private Date swCreateTime;

    /**
     * @return sw_uuid
     */
    public String getSwUuid() {
        return swUuid;
    }

    /**
     * @param swUuid
     */
    public void setSwUuid(String swUuid) {
        this.swUuid = swUuid;
    }

    /**
     * 获取报警名称
     *
     * @return sw_name - 报警名称
     */
    public String getSwName() {
        return swName;
    }

    /**
     * 设置报警名称
     *
     * @param swName 报警名称
     */
    public void setSwName(String swName) {
        this.swName = swName;
    }

    /**
     * 获取报警代码
     *
     * @return sw_code - 报警代码
     */
    public String getSwCode() {
        return swCode;
    }

    /**
     * 设置报警代码
     *
     * @param swCode 报警代码
     */
    public void setSwCode(String swCode) {
        this.swCode = swCode;
    }

    /**
     * 获取报警类型0.提醒1.报警
     *
     * @return sw_warn_type - 报警类型0.提醒1.报警
     */
    public String getSwWarnType() {
        return swWarnType;
    }

    /**
     * 设置报警类型0.提醒1.报警
     *
     * @param swWarnType 报警类型0.提醒1.报警
     */
    public void setSwWarnType(String swWarnType) {
        this.swWarnType = swWarnType;
    }

    /**
     * 获取紧急程度1：非常紧急2：紧急3：一般4：不紧急

     *
     * @return sw_emerg - 紧急程度1：非常紧急2：紧急3：一般4：不紧急

     */
    public String getSwEmerg() {
        return swEmerg;
    }

    /**
     * 设置紧急程度1：非常紧急2：紧急3：一般4：不紧急

     *
     * @param swEmerg 紧急程度1：非常紧急2：紧急3：一般4：不紧急

     */
    public void setSwEmerg(String swEmerg) {
        this.swEmerg = swEmerg;
    }

    /**
     * 获取状态是否启用0:禁用 1:启用
     *
     * @return sw_status - 状态是否启用0:禁用 1:启用
     */
    public String getSwStatus() {
        return swStatus;
    }

    /**
     * 设置状态是否启用0:禁用 1:启用
     *
     * @param swStatus 状态是否启用0:禁用 1:启用
     */
    public void setSwStatus(String swStatus) {
        this.swStatus = swStatus;
    }

    /**
     * 获取显示颜色
     *
     * @return sw_color - 显示颜色
     */
    public String getSwColor() {
        return swColor;
    }

    /**
     * 设置显示颜色
     *
     * @param swColor 显示颜色
     */
    public void setSwColor(String swColor) {
        this.swColor = swColor;
    }

    /**
     * 获取处理方式0：自动、1：手动
     *
     * @return sw_handing - 处理方式0：自动、1：手动
     */
    public String getSwHanding() {
        return swHanding;
    }

    /**
     * 设置处理方式0：自动、1：手动
     *
     * @param swHanding 处理方式0：自动、1：手动
     */
    public void setSwHanding(String swHanding) {
        this.swHanding = swHanding;
    }

    /**
     * 获取推送至设备0推送1不推送
     *
     * @return sw_target_dev - 推送至设备0推送1不推送
     */
    public String getSwTargetDev() {
        return swTargetDev;
    }

    /**
     * 设置推送至设备0推送1不推送
     *
     * @param swTargetDev 推送至设备0推送1不推送
     */
    public void setSwTargetDev(String swTargetDev) {
        this.swTargetDev = swTargetDev;
    }

    /**
     * 获取推送至app 0推送1不推送
     *
     * @return sw_target_app - 推送至app 0推送1不推送
     */
    public String getSwTargetApp() {
        return swTargetApp;
    }

    /**
     * 设置推送至app 0推送1不推送
     *
     * @param swTargetApp 推送至app 0推送1不推送
     */
    public void setSwTargetApp(String swTargetApp) {
        this.swTargetApp = swTargetApp;
    }

    /**
     * 获取推送至短信 0推送1不推送
     *
     * @return sw_target_sms - 推送至短信 0推送1不推送
     */
    public String getSwTargetSms() {
        return swTargetSms;
    }

    /**
     * 设置推送至短信 0推送1不推送
     *
     * @param swTargetSms 推送至短信 0推送1不推送
     */
    public void setSwTargetSms(String swTargetSms) {
        this.swTargetSms = swTargetSms;
    }

    /**
     * 获取推送至直线图 0推送1不推送
     *
     * @return sw_target_sys - 推送至直线图 0推送1不推送
     */
    public String getSwTargetSys() {
        return swTargetSys;
    }

    /**
     * 设置推送至直线图 0推送1不推送
     *
     * @param swTargetSys 推送至直线图 0推送1不推送
     */
    public void setSwTargetSys(String swTargetSys) {
        this.swTargetSys = swTargetSys;
    }

    /**
     * 获取设备推送内容
     *
     * @return sw_dev_content - 设备推送内容
     */
    public String getSwDevContent() {
        return swDevContent;
    }

    /**
     * 设置设备推送内容
     *
     * @param swDevContent 设备推送内容
     */
    public void setSwDevContent(String swDevContent) {
        this.swDevContent = swDevContent;
    }

    /**
     * 获取App推送内容
     *
     * @return sw_app_content - App推送内容
     */
    public String getSwAppContent() {
        return swAppContent;
    }

    /**
     * 设置App推送内容
     *
     * @param swAppContent App推送内容
     */
    public void setSwAppContent(String swAppContent) {
        this.swAppContent = swAppContent;
    }

    /**
     * 获取短信推送内容
     *
     * @return sw_sms_content - 短信推送内容
     */
    public String getSwSmsContent() {
        return swSmsContent;
    }

    /**
     * 设置短信推送内容
     *
     * @param swSmsContent 短信推送内容
     */
    public void setSwSmsContent(String swSmsContent) {
        this.swSmsContent = swSmsContent;
    }

    /**
     * 获取直线图推送方式可多选，以逗号分隔；1：强制弹框2：声音提醒3：图标改变4：图标闪烁5：弹出视频6：角标提醒

     *
     * @return sw_sys_type - 直线图推送方式可多选，以逗号分隔；1：强制弹框2：声音提醒3：图标改变4：图标闪烁5：弹出视频6：角标提醒

     */
    public String getSwSysType() {
        return swSysType;
    }

    /**
     * 设置直线图推送方式可多选，以逗号分隔；1：强制弹框2：声音提醒3：图标改变4：图标闪烁5：弹出视频6：角标提醒

     *
     * @param swSysType 直线图推送方式可多选，以逗号分隔；1：强制弹框2：声音提醒3：图标改变4：图标闪烁5：弹出视频6：角标提醒

     */
    public void setSwSysType(String swSysType) {
        this.swSysType = swSysType;
    }

    /**
     * 获取直线图报警声音,如果sw_sys_type包含2则保存其路径，否则为空
     *
     * @return sw_sys_voice - 直线图报警声音,如果sw_sys_type包含2则保存其路径，否则为空
     */
    public String getSwSysVoice() {
        return swSysVoice;
    }

    /**
     * 设置直线图报警声音,如果sw_sys_type包含2则保存其路径，否则为空
     *
     * @param swSysVoice 直线图报警声音,如果sw_sys_type包含2则保存其路径，否则为空
     */
    public void setSwSysVoice(String swSysVoice) {
        this.swSysVoice = swSysVoice;
    }

    /**
     * 获取直线图报警图标,如果sw_sys_type包含3，则保存其路径，否则为空
     *
     * @return sw_sys_icon - 直线图报警图标,如果sw_sys_type包含3，则保存其路径，否则为空
     */
    public String getSwSysIcon() {
        return swSysIcon;
    }

    /**
     * 设置直线图报警图标,如果sw_sys_type包含3，则保存其路径，否则为空
     *
     * @param swSysIcon 直线图报警图标,如果sw_sys_type包含3，则保存其路径，否则为空
     */
    public void setSwSysIcon(String swSysIcon) {
        this.swSysIcon = swSysIcon;
    }

    /**
     * 获取音频播放次数
     *
     * @return sw_voice_times - 音频播放次数
     */
    public Short getSwVoiceTimes() {
        return swVoiceTimes;
    }

    /**
     * 设置音频播放次数
     *
     * @param swVoiceTimes 音频播放次数
     */
    public void setSwVoiceTimes(Short swVoiceTimes) {
        this.swVoiceTimes = swVoiceTimes;
    }

    /**
     * 获取车距、站距设置1：车距 2：站距
     *
     * @return sw_station_spacing - 车距、站距设置1：车距 2：站距
     */
    public String getSwStationSpacing() {
        return swStationSpacing;
    }

    /**
     * 设置车距、站距设置1：车距 2：站距
     *
     * @param swStationSpacing 车距、站距设置1：车距 2：站距
     */
    public void setSwStationSpacing(String swStationSpacing) {
        this.swStationSpacing = swStationSpacing;
    }

    /**
     * 获取自定义参数1
     *
     * @return sw_param1 - 自定义参数1
     */
    public String getSwParam1() {
        return swParam1;
    }

    /**
     * 设置自定义参数1
     *
     * @param swParam1 自定义参数1
     */
    public void setSwParam1(String swParam1) {
        this.swParam1 = swParam1;
    }

    /**
     * 获取自定义参数2
     *
     * @return sw_param2 - 自定义参数2
     */
    public String getSwParam2() {
        return swParam2;
    }

    /**
     * 设置自定义参数2
     *
     * @param swParam2 自定义参数2
     */
    public void setSwParam2(String swParam2) {
        this.swParam2 = swParam2;
    }

    /**
     * 获取自定义参数3
     *
     * @return sw_param3 - 自定义参数3
     */
    public String getSwParam3() {
        return swParam3;
    }

    /**
     * 设置自定义参数3
     *
     * @param swParam3 自定义参数3
     */
    public void setSwParam3(String swParam3) {
        this.swParam3 = swParam3;
    }

    /**
     * 获取自定义参数4
     *
     * @return sw_param4 - 自定义参数4
     */
    public String getSwParam4() {
        return swParam4;
    }

    /**
     * 设置自定义参数4
     *
     * @param swParam4 自定义参数4
     */
    public void setSwParam4(String swParam4) {
        this.swParam4 = swParam4;
    }

    /**
     * 获取自定义参数5
     *
     * @return sw_param5 - 自定义参数5
     */
    public String getSwParam5() {
        return swParam5;
    }

    /**
     * 设置自定义参数5
     *
     * @param swParam5 自定义参数5
     */
    public void setSwParam5(String swParam5) {
        this.swParam5 = swParam5;
    }

    /**
     * 获取备注
     *
     * @return sw_comment - 备注
     */
    public String getSwComment() {
        return swComment;
    }

    /**
     * 设置备注
     *
     * @param swComment 备注
     */
    public void setSwComment(String swComment) {
        this.swComment = swComment;
    }

    /**
     * 获取修改时间
     *
     * @return sw_update_time - 修改时间
     */
    public Date getSwUpdateTime() {
        return swUpdateTime;
    }

    /**
     * 设置修改时间
     *
     * @param swUpdateTime 修改时间
     */
    public void setSwUpdateTime(Date swUpdateTime) {
        this.swUpdateTime = swUpdateTime;
    }

    /**
     * 获取创建时间
     *
     * @return sw_create_time - 创建时间
     */
    public Date getSwCreateTime() {
        return swCreateTime;
    }

    /**
     * 设置创建时间
     *
     * @param swCreateTime 创建时间
     */
    public void setSwCreateTime(Date swCreateTime) {
        this.swCreateTime = swCreateTime;
    }
}